install.packages("readxl")
library(readxl)
Pytania badawcze:
- jakie najtańsze a jakie najdroższe
- jaka dzielnica jest najdroższa
- gdzie jest najwięcej nieruchomości (dzielnice)
- rok vs cena
- ceny developera (ataner) -
- mieszkania dla studentów (dostępność, dzielnice)
- osoby niepalące -
- odsetek mieszkań umeblowanych
- średnia wielkość pokoju
- cena vs metraż
Wczytujemy dane z pliku csv
- mamy plik na dysku
- mamy link do pliku
rent <- read.csv2(file = "../data-raw/rent-poznan.csv")
head(rent)
Wczytamy dane z Excela
rent <- read_excel(path = "../data-raw/rent-poznan.xlsx")
rent <- as.data.frame(rent)
head(rent)
Wybieramy kolumny ze zbioru rent
Wybór kolumn z funkcją subset
subset(rent, select = 1)
subset(rent, select = 1:3)
subset(rent, select = c(1,5, 10))
subset(rent, select = c("id", "price", "flat_area"))
subset(rent, select = id:flat_area)
Wybór wierszy
rent[1,]
rent[1:3,]
rent[c(1, 5, 10), ]
rent[nrow(rent), ] ## tail(rent, 1)
mtcars["Mazda RX4",] # używam tutaj nazw wierszy
Wybieram mieszkania, których cena była niższa lub równa 300 zł
Wybieramy wiersze i kolumny z funkcją subset
subset(rent,
subset = price > 300 & price < 500,
select = c("id", "price", "ad_title", "flat_area"))
subset(rent,
price > 300 & price < 500,
c("id", "price", "ad_title", "flat_area"))
Zadania
- wybrać mieszkania dla studentów (1 / 0) o cenie mniejszej niż 1000
(133)
subset(rent, flat_for_students == 1 & price < 1000)
subset(rent, flat_for_students == TRUE & price < 1000)
subset(rent, flat_for_students == T & price < 1000)
- wybrać mieszkania o powierzchni do 50 metrów (10 939)
subset(rent, flat_area <= 50)
- wybrać mieszkania z Centrum o powierzchni do 50 metrów (1 059)
subset(rent, flat_area <= 50 & quarter == "centrum") ## to jest źle (mała litera)
subset(rent, flat_area <= 50 & quarter == "Centrum")
- wybrać mieszkania z Centrum lub Rataj o powierzchni do 50 metrów (1
916)
subset(rent, (quarter == "Centrum" | quarter == "Rataje") & flat_area <= 50)
subset(rent, quarter %in% c("Centrum", "Rataje") & flat_area <= 50)
- wybrać mieszkania, które mają depozyt równy cenie (2 494)
subset(rent, flat_deposit == price, c("price", "flat_deposit"))
subset(rent, (flat_deposit/2) > 3*price, c("price", "flat_deposit"))
- ceny developera (ataner) -
subset(rent,
grepl("ataner", ad_title, ignore.case = T),
c("ad_title", "price"))
LS0tCnRpdGxlOiAiWmFqxJljaWEgIzIiCmF1dGhvcjogIk1hY2llaiBCZXLEmXNld2ljeiIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICAgc2VsZi1jb250YWluaW5nOiB5ZXMKICAgIHRvYzogeWVzCi0tLQoKYGBge3IgLCBldmFsID0gRkFMU0V9Cmluc3RhbGwucGFja2FnZXMoInJlYWR4bCIpCmBgYAoKYGBge3J9CmxpYnJhcnkocmVhZHhsKQpgYGAKCgpQeXRhbmlhIGJhZGF3Y3plOgoKMS4gamFraWUgbmFqdGHFhHN6ZSBhIGpha2llIG5hamRyb8W8c3plCjIuIGpha2EgZHppZWxuaWNhIGplc3QgbmFqZHJvxbxzemEKMy4gZ2R6aWUgamVzdCBuYWp3acSZY2VqIG5pZXJ1Y2hvbW/Fm2NpIChkemllbG5pY2UpCjQuIHJvayB2cyBjZW5hCjUuIGNlbnkgZGV2ZWxvcGVyYSAoYXRhbmVyKSAtIAo2LiBtaWVzemthbmlhIGRsYSBzdHVkZW50w7N3IChkb3N0xJlwbm/Fm8SHLCBkemllbG5pY2UpCjcuIG9zb2J5IG5pZXBhbMSFY2UgLSAKOC4gb2RzZXRlayBtaWVzemthxYQgdW1lYmxvd2FueWNoCjkuIMWbcmVkbmlhIHdpZWxrb8WbxIcgcG9rb2p1CjEwLiBjZW5hIHZzIG1ldHJhxbwKCgpXY3p5dHVqZW15IGRhbmUgeiBwbGlrdSBjc3YKCi0gbWFteSBwbGlrIG5hIGR5c2t1Ci0gbWFteSBsaW5rIGRvIHBsaWt1IAoKYGBge3J9CnJlbnQgPC0gcmVhZC5jc3YyKGZpbGUgPSAiLi4vZGF0YS1yYXcvcmVudC1wb3puYW4uY3N2IikKaGVhZChyZW50KQpgYGAKCldjenl0YW15IGRhbmUgeiBFeGNlbGEKCmBgYHtyfQpyZW50IDwtIHJlYWRfZXhjZWwocGF0aCA9ICIuLi9kYXRhLXJhdy9yZW50LXBvem5hbi54bHN4IikKcmVudCA8LSBhcy5kYXRhLmZyYW1lKHJlbnQpCmhlYWQocmVudCkKYGBgCgpXeWJpZXJhbXkga29sdW1ueSB6ZSB6YmlvcnUgcmVudAoKYGBge3J9CnJlbnRbLCAxXSAjIHcgZGF0YS5mcmFtZSB3eWLDs3IgamVkbmVqIGtvbHVtbnkgc2t1dGt1amUgd2VrdG9yZW0KcmVudFssIDEsIGRyb3AgPSBGQUxTRV0gIyBkcm9wID0gRkFMU0UgbcOzd2ksIMW8ZSBtYW15IGRvc3RhxIcgcmFta8SZIGRhbnljaApyZW50WywgMToxMF0KcmVudFssIG5jb2wocmVudCksIGRyb3AgPSBGQUxTRV0gIyBvc3RhdG5pYSBrb2x1bW5hCnJlbnRbLCBjKDEsIDUsIDEwKV0KcmVudFssIGMoImlkIiwgInByaWNlIiwgImZsYXRfYXJlYSIpXQpyZW50JHByaWNlICMjIHdla3RvcgpzdW1tYXJ5KHJlbnQkcHJpY2UpCmBgYAoKV3liw7NyIGtvbHVtbiB6IGZ1bmtjasSFIHN1YnNldAoKYGBge3J9CnN1YnNldChyZW50LCBzZWxlY3QgPSAxKQpzdWJzZXQocmVudCwgc2VsZWN0ID0gMTozKQpzdWJzZXQocmVudCwgc2VsZWN0ID0gYygxLDUsIDEwKSkKc3Vic2V0KHJlbnQsIHNlbGVjdCA9IGMoImlkIiwgInByaWNlIiwgImZsYXRfYXJlYSIpKQpzdWJzZXQocmVudCwgc2VsZWN0ID0gaWQ6ZmxhdF9hcmVhKQpgYGAKCld5YsOzciB3aWVyc3p5CgpgYGB7cn0KcmVudFsxLF0KcmVudFsxOjMsXQpyZW50W2MoMSwgNSwgMTApLCBdCnJlbnRbbnJvdyhyZW50KSwgXSAjIyB0YWlsKHJlbnQsIDEpCgptdGNhcnNbIk1hemRhIFJYNCIsXSAjIHXFvHl3YW0gdHV0YWogbmF6dyB3aWVyc3p5CmBgYAoKV3liaWVyYW0gbWllc3prYW5pYSwga3TDs3J5Y2ggY2VuYSBiecWCYSBuacW8c3phIGx1YiByw7N3bmEgMzAwIHrFggoKYGBge3J9CnJlbnRbcmVudCRwcmljZSA8PSAzMDAsIGMoImlkIiwgInByaWNlIiwgImFkX3RpdGxlIiwgImZsYXRfYXJlYSIpXQpyZW50W3JlbnQkcHJpY2UgPiAxNTAwMCwgYygiaWQiLCAicHJpY2UiLCAiYWRfdGl0bGUiLCAiZmxhdF9hcmVhIildCmBgYAoKYGBge3J9CnJlbnRbcmVudCRwcmljZSA+IDMwMCAmIHJlbnQkcHJpY2UgPCA1MDAsIAogICAgIGMoImlkIiwgInByaWNlIiwgImFkX3RpdGxlIiwgImZsYXRfYXJlYSIpXQpgYGAKCld5YmllcmFteSB3aWVyc3plIGkga29sdW1ueSB6IGZ1bmtjasSFIHN1YnNldAoKYGBge3J9CnN1YnNldChyZW50LAogICAgICAgc3Vic2V0ID0gcHJpY2UgPiAzMDAgJiBwcmljZSA8IDUwMCwKICAgICAgIHNlbGVjdCA9IGMoImlkIiwgInByaWNlIiwgImFkX3RpdGxlIiwgImZsYXRfYXJlYSIpKQoKc3Vic2V0KHJlbnQsCiAgICAgICBwcmljZSA+IDMwMCAmIHByaWNlIDwgNTAwLAogICAgICAgYygiaWQiLCAicHJpY2UiLCAiYWRfdGl0bGUiLCAiZmxhdF9hcmVhIikpCmBgYAoKWmFkYW5pYQoKLSB3eWJyYcSHIG1pZXN6a2FuaWEgZGxhIHN0dWRlbnTDs3cgKDEgLyAwKSBvIGNlbmllIG1uaWVqc3plaiBuacW8IDEwMDAgKDEzMykKCmBgYHtyfQpzdWJzZXQocmVudCwgZmxhdF9mb3Jfc3R1ZGVudHMgPT0gMSAmIHByaWNlIDwgMTAwMCkKc3Vic2V0KHJlbnQsIGZsYXRfZm9yX3N0dWRlbnRzID09IFRSVUUgJiBwcmljZSA8IDEwMDApCnN1YnNldChyZW50LCBmbGF0X2Zvcl9zdHVkZW50cyA9PSBUICYgcHJpY2UgPCAxMDAwKQpgYGAKCi0gd3licmHEhyBtaWVzemthbmlhIG8gcG93aWVyemNobmkgZG8gNTAgbWV0csOzdyAoMTAgOTM5KQpgYGB7cn0Kc3Vic2V0KHJlbnQsIGZsYXRfYXJlYSA8PSA1MCkKYGBgCgotIHd5YnJhxIcgbWllc3prYW5pYSB6IENlbnRydW0gbyBwb3dpZXJ6Y2huaSBkbyA1MCBtZXRyw7N3ICgxIDA1OSkKYGBge3J9CnN1YnNldChyZW50LCBmbGF0X2FyZWEgPD0gNTAgJiBxdWFydGVyID09ICJjZW50cnVtIikgIyMgdG8gamVzdCDFumxlIChtYcWCYSBsaXRlcmEpCnN1YnNldChyZW50LCBmbGF0X2FyZWEgPD0gNTAgJiBxdWFydGVyID09ICJDZW50cnVtIikKYGBgCgoKLSB3eWJyYcSHIG1pZXN6a2FuaWEgeiBDZW50cnVtIGx1YiBSYXRhaiBvIHBvd2llcnpjaG5pIGRvIDUwIG1ldHLDs3cgKDEgOTE2KQoKYGBge3J9CnN1YnNldChyZW50LCAocXVhcnRlciA9PSAiQ2VudHJ1bSIgfCBxdWFydGVyID09ICJSYXRhamUiKSAmIGZsYXRfYXJlYSA8PSA1MCkKCnN1YnNldChyZW50LCBxdWFydGVyICVpbiUgYygiQ2VudHJ1bSIsICJSYXRhamUiKSAmIGZsYXRfYXJlYSA8PSA1MCkKYGBgCgoKLSB3eWJyYcSHIG1pZXN6a2FuaWEsIGt0w7NyZSBtYWrEhSBkZXBvenl0IHLDs3dueSBjZW5pZSAoMiA0OTQpCgpgYGB7cn0Kc3Vic2V0KHJlbnQsIGZsYXRfZGVwb3NpdCA9PSBwcmljZSwgYygicHJpY2UiLCAiZmxhdF9kZXBvc2l0IikpCnN1YnNldChyZW50LCAoZmxhdF9kZXBvc2l0LzIpID4gMypwcmljZSwgYygicHJpY2UiLCAiZmxhdF9kZXBvc2l0IikpCmBgYAoKNS4gY2VueSBkZXZlbG9wZXJhIChhdGFuZXIpIC0gCgpgYGB7cn0Kc3Vic2V0KHJlbnQsIAogICAgICAgZ3JlcGwoImF0YW5lciIsIGFkX3RpdGxlLCBpZ25vcmUuY2FzZSA9IFQpLCAKICAgICAgIGMoImFkX3RpdGxlIiwgInByaWNlIikpCmBgYAoKCg==